The Media Control Interface — MCI for short — is a high-level API developed by Microsoft and IBM for controlling multimedia peripherals connected to a Microsoft Windows or OS/2 computer, such as CD-ROM players and audio controllers.
MCI makes it very simple to write a program which can play a wide variety of media files and even to record sound by just passing commands as strings. It uses relations described in Windows registries or in the [MCI] section of the file system.ini. One advantage of this API is that MCI commands can be transmitted both from the programming language and from the scripting language (open script, lingo aso). Example of such commands are mciSendCommand or mciSendString.
For a number of years[update], the MCI interface has been phased out in favor of the DirectX APIs first released in 1995.
The Media Control Interface consists of 4 parts:
Each of these so-called MCI devices (e.g. CD-ROM or VCD player) can play a certain type of files, e.g. AVIVideo plays .avi files, CDAudio plays CD-DA tracks among others. Other MCI devices have also been made available over time.
To play a type of media, it needs to be initialized correctly using MCI commands. These commands are subdivided into categories:
A full list of MCI commands can be found at Microsoft's MSDN Library.